&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	СтрокаРоли=Параметры.Роль;
	Если СтрокаРоли<>Неопределено Тогда
		ЗаполнитьЗначенияСвойств(ЭтотОбъект, СтрокаРоли);
	Иначе
		БезРоли=Истина;
		ТипОстатка="Нет";
		ТипБухгалтерскогоОстатка="Нет";
		НомерПериода=1;
	КонецЕсли;
	
	Элементы.ИзмерениеРодитель.СписокВыбора.Очистить();
	Для Каждого Поле ИЗ Параметры.МассивПолейНабора Цикл
		Элементы.ИзмерениеРодитель.СписокВыбора.Добавить(Поле);
	КонецЦикла;
	
	Заголовок="Роль - "+Параметры.ПутьКДанным;
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	УстановитьДоступность();
КонецПроцедуры
&НаКлиенте
Процедура УстановитьДоступность()
	Элементы.ГруппаПараметрыПериода.Доступность=Период;
	Элементы.ИзмерениеРодитель.Доступность=Измерение;
	Элементы.ВыражениеВидаСчета.Доступность=Счет;
	Элементы.ГруппаПараметрыОстатков.Доступность=Остаток;
КонецПроцедуры

&НаКлиенте
Процедура БезРолиПриИзменении(Элемент)
	Если Не БезРоли Тогда
		БезРоли=Истина;
		Возврат;
	КонецЕсли;
	Период=Ложь;
	Измерение=Ложь;
	Счет=Ложь;
	Остаток=Ложь;

	УстановитьДоступность();
КонецПроцедуры

&НаКлиенте
Процедура ПериодПриИзменении(Элемент)
	Если Не Период Тогда
		Период=Истина;
		Возврат;
	КонецЕсли;
	БезРоли=Ложь;
	Измерение=Ложь;
	Счет=Ложь;
	Остаток=Ложь;

	УстановитьДоступность();
КонецПроцедуры

&НаКлиенте
Процедура ИзмерениеПриИзменении(Элемент)
	Если Не Измерение Тогда
		Измерение=Истина;
		Возврат;
	КонецЕсли;
	БезРоли=Ложь;
	Период=Ложь;
	Счет=Ложь;
	Остаток=Ложь;

	УстановитьДоступность();
КонецПроцедуры

&НаКлиенте
Процедура СчетПриИзменении(Элемент)
	Если Не Счет Тогда
		Счет=Истина;
		Возврат;
	КонецЕсли;
	БезРоли=Ложь;
	Период=Ложь;
	Измерение=Ложь;
	Остаток=Ложь;

	УстановитьДоступность();
КонецПроцедуры

&НаКлиенте
Процедура ОстаткиПриИзменении(Элемент)
	Если Не Остаток Тогда
		Остаток=Истина;
		Возврат;
	КонецЕсли;
	БезРоли=Ложь;
	Период=Ложь;
	Измерение=Ложь;
	Счет=Ложь;

	УстановитьДоступность();
КонецПроцедуры
&НаКлиенте
Процедура Применить(Команда)
	Роль=Новый Структура;
	Роль.Вставить("ВыражениеВидаСчета", ВыражениеВидаСчета);
	Роль.Вставить("ГруппаОстатка", ГруппаОстатка);
	Роль.Вставить("ИгнорироватьЗначенияNULL", ИгнорироватьЗначенияNULL);
	Роль.Вставить("Измерение", Измерение);
	Роль.Вставить("Период", Период);
	Роль.Вставить("НомерПериода", НомерПериода);
	Роль.Вставить("Обязательное", Обязательное);
	Роль.Вставить("Остаток", Остаток);
	Роль.Вставить("ПолеСчета", ПолеСчета);
	Роль.Вставить("РодительскоеИзмерение", РодительскоеИзмерение);
	Роль.Вставить("Счет", Счет);
	Роль.Вставить("ТипБухгалтерскогоОстатка", ТипБухгалтерскогоОстатка);
	Роль.Вставить("ТипОстатка", ТипОстатка);
	Роль.Вставить("ПериодДополнительный", ПериодДополнительный);
	
	Закрыть(Роль);
КонецПроцедуры